home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Day Cry
/
Day Cry CD.bin
/
oh_towns
/
install
/
instein.c
< prev
next >
Wrap
Text File
|
1994-09-20
|
5KB
|
172 lines
/*************************************************************************
* EIN(TM) âCâôâXâgü[âïÅêù¥
*************************************************************************/
int _ein_make_lcnf(char *instdir);
int install_ein()
{
int ret, drv, fcopy_att, srcdrv, item_setup;
char *softname;
char *helpfn;
char *srcdir;
char instdir[256], *instfile;
char *item_prog, *item_ttl, item_para[128];
int item_att;
char *dlgTxm;
char tmp[256];
instdir[0] = '\0';
softname = "édéhém(TM)âvâìâWâFâNâg èεû{âZâbâg";
srcdir = "/OH_TOWNS/EIN";
instfile = "l.cnf *.dll *.doc *.exg *.icn";
helpfn = "/OH_TOWNS/EIN/README.DOC";
item_ttl = "EINâëâôâ`ââü[";
item_prog = "L.EXG";
item_att = 2;
srcdrv = toupper(DirStart[0]) - 'A';
_TOP:
syl_putf("%s",softname);
dlgTxm = DlgTxm_open(ColBoxNormal);
DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"%s é≡âCâôâXâgü[âïé╡é▄é╖üB", softname );
DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r' , KA_EXEC ,
1, "", 0, "▓▌╜─░┘ : [Ä└ìs]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'H' , KA_H ,
2, "inst_help", helpfn, "Éαû╛ : [H]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\x1B', KA_CANCEL,
3, "", NULL, "ĵÅ┴ : [ĵÅ┴]");
DlgTxm_setSize(dlgTxm,480,40);
DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
do
{
ret = DlgTxm_start(dlgTxm);
} while ( ret == 2 );
DlgTxm_close(dlgTxm);
if ( ret != 1 )
goto _RET;
/* âCâôâXâgü[âïɵÄwÆΦ --------------------------------------------*/
ret = APL_setInstallDir(instdir,"%s : âCâôâXâgü[âïɵÄwÆΦ", softname);
if ( ret )
goto _TOP;
dlgTxm = DlgTxm_open(ColBoxNormal);
DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"%s", instdir );
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"é▒é╠âfâBâîâNâgâèé╔âCâôâXâgü[âïé╡é─éαéóéóé┼é╖é⌐üH" );
DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER,"");
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"▓▌╜─░┘1 üc âtâ@âCâïé≡òíÄ╩é╡é─TownsMENU é╔âAâCâeâÇôoÿ^");
DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
"▓▌╜─░┘2 üc âtâ@âCâïé≡òíÄ╩üiâAâCâeâÇôoÿ^é═é╡é╚éóüj ");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r' , KA_EXEC , 1, "", 0, "▓▌╜─░┘1 : [Ä└ìs]");
DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'C' , KA_C , 2, "", 0, "▓▌╜─░┘2 : [C]");
DlgTxm_setSize(dlgTxm,320,40);
DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
ret = DlgTxm_start(dlgTxm);
DlgTxm_close(dlgTxm);
if ( ret != 1 && ret != 2 )
goto _TOP;
item_setup = (ret == 1 ? 1 : 0);
/* âCâôâXâgü[âïèJÄn ------------------------------------------------*/
syl_putf("INSTALL START");
FS_chdrv(srcdrv);
FS_getFullPn(tmp,srcdir);
fcopy_att = FCOPY_ATT_SUBDIR | FCOPY_ATT_TIMESTAMP | FCOPY_ATT_CHK_OVERWRITE;
ret = FCOPY_exec(fcopy_att, tmp, instfile, instdir);
/* âAâCâeâÇôoÿ^ ----------------------------------------------------*/
if ( ret == NORMAL && item_setup != 0 )
{
syl_putf("ITEM SETUP");
drv = toupper(instdir[0]) - 'A';
strcpy(tmp,instdir);
add_path_fn(tmp,item_prog);
strcpy(item_para,instdir);
add_path_fn(item_para,"einstd.icn");
item_setApl( drv, 1024, item_ttl, tmp, item_para, item_att );
_ein_make_lcnf(instdir);
}
/* âCâôâXâgü[âïÅIù╣ ------------------------------------------------*/
install_end( softname, ret );
_RET:
syl_clear();
return (0);
}
int _ein_make_lcnf(char *instdir)
{
int i, argc;
char *fp;
char **argv;
char *s, tmp[256], path[256];
static char *tbl[18] =
{
"# EIN(TM)âëâôâ`ââü[L.EXG É▌ÆΦâtâ@âCâïâTâôâvâï",
"# ÅæÄ«:",
"# âvâìâOâëâÇû╝,MODE; 0:EXG/1:EXP/2:EXP-overay/3:EXE/COM, ICON No.,X Y, ",
"# 0:FIX/1-GROUP, command line",
"#" ,
"TMENU.EXG \"EIN(TM),0,1024,0 20,0,\"",
"FVI.EXG \"FILER,0,1034,,0,\"" ,
"MVI.EXG \"EDITOR,0,1035,,0,\"" ,
"#CONSOLE,2,1027,,0,D:\\CONSOLE.EXE" ,
"#Windows,2,1026,,0,D:\\EXE\\REIPL.COM E:" ,
"#" ,
"CDP.EXG \"CDplay,0,1040,,2,\"" ,
"ANIMICS.EXG \"Animics,0,1044,,2,\"" ,
"#TIFF,1,1046,,2,D:\\T_TOOL\\TIFF.EXP" ,
"LHAT.EXG \"LHA,0,1045,,2,\"" ,
NULL
};
strcpy(tmp,instdir); add_path_fn(tmp,"l.cnf");
if ( (fp = FS_fopen(tmp,"wb")) == NULL )
return (ERR);
for ( i = 0; tbl[i] != NULL; ++i )
{
s = tbl[i];
if ( *s == '#' )
{ /* âRâüâôâgìs */
fputs(s,fp);
} else
{
if ( (argc = DTA_makeArg(s,&argv)) > 0 )
{
if ( argc == 2 )
{
strcpy(tmp,instdir);
add_path_fn(tmp,argv[0]);
FS_dosFn( path, tmp);
fprintf(fp,"%s%s",argv[1], path);
}
DTA_clearArg(argc,argv);
}
}
fputs("\r\n",fp);
}
FS_fclose(fp);
return (NORMAL);
}